<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>

  var str = new String(' 123456789 ');

  function trimRight(str) {
    var i = str.length - 1;
    for (; i > 0 && str.charAt(i) == " "; i--) ;
    return str.substring(0, i++);
  }

  function trimLeft(str) {
    for (var i = 0; i < str.length && str.charAt(i) === ' '; i++) {
      return str.substring(i, str.length)
    }
  }

  String.prototype.trim = function trim(str) {
    return trimLeft(trimRight(str));
  };
  var str2 = ' 123456789 ';
  //console.log(str2.trim(str2));
  var newstr = str2.trim(str2);
  console.log(newstr);

  // console.log(str.trimLeft().trimRight());  系统自带的

  //相同
  //substr(startIndex);
  //substring(startIndex);

  //不相同
  //substr（startIndex,lenth）： 第二个参数是截取字符串的长度（从起始点截取某个长度的字符串）；
  //substring（startIndex, endIndex）： 第二个参数是截取字符串最终的下标 （截取2个位置之间的字符串,‘含头不含尾’）。


  // console.log(str.substr(2, 1));//从起始索引号  提取字符串中指定数目的字符。
  //console.log(str.substr(2, str.length - 1));//
  //console.log(str.substring(0, 2));
</script>
</body>
</html>